const express = require("express");
const axios = require('axios');
const tencentcloud = require("tencentcloud-sdk-nodejs-tts");
const TtsClient = tencentcloud.tts.v20190823.Client;

// 实例化一个认证对象，入参需要传入腾讯云账户 SecretId 和 SecretKey，此处还需注意密钥对的保密
// 代码泄露可能会导致 SecretId 和 SecretKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考，建议采用更安全的方式来使用密钥，请参见：https://cloud.tencent.com/document/product/1278/85305
// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
const clientConfig = {
    credential: {
        secretId: 'AKIDoRo7LaqXR6Zs0vg8PsBdswnbDagZdl5G', // 推荐使用环境变量获取；用户的 SecretId，建议使用子账号密钥，授权遵循最小权限指引，降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140
        secretKey: 'CCzNYXIqBJCpDQSGrGPL3Z4NYXJsDJBs', // 推荐使用环境变量获取；用户的 SecretKey，建议使用子账号密钥，授权遵循最小权限指
    },
    region: "",
    profile: {
        httpProfile: {
            endpoint: "tts.tencentcloudapi.com",
        },
    },
};
const client = new TtsClient(clientConfig);
async function speechSynthesis(data) {
    const params = {
        Text: data.text,
        VoiceType: 1050,
        PrimaryLanguage: 2,
        
        EnableSubtitle: true
    };
    const res = await client.CreateTtsTask(params)
    if (res.Data?.TaskId) {
        return res.Data
    }else {
        return null
    }
}

async function getWorkByTaskId(data) {
    const res = await client.DescribeTtsTaskStatus({
        TaskId: data.taskId
    })
    console.log(res)
    return {
        code: 200,
        msg: '请求成功',
        data: res.Data
    }
}


exports.speechSynthesis = speechSynthesis
exports.getWorkByTaskId = getWorkByTaskId
